/*
 * @lc app=leetcode.cn id=455 lang=golang
 *
 * [455] 分发饼干
 */

// 2.
// @lc code=start
func findContentChildren(g []int, s []int) (ans int) {
	sort.Ints(g)
	sort.Ints(s)
	for i, j := 0, 0; i < len(g) && j < len(s); i++ {
		for j < len(s) && s[j] < g[i] {
			j++
		}
		if j < len(s) {
			ans++
			j++
		}
	}
	return
}

// @lc code=end

// 1. 错误 18/21 Wrong Answer，每个孩子最多只能一块饼干，没注意这个条件
// @lc code=start
func findContentChildren(g []int, s []int) int {
	if len(s) == 0 {
		return 0
	}

	sort.Ints(g)
	sort.Ints(s)
	i := 0
	j := 0
	for ; i < len(g); i++ {
		temp := g[i]
		for j < len(s) {
			temp -= s[j]
			j++
			if temp <= 0 {
				break
			}
		}

		if j == len(s) && temp > 0 {
			return i
		} else if j == len(s) && temp <= 0 {
			return i + 1
		}
	}
	return i
}

// @lc code=end

